<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /><title>Data.Functor.Product</title><link href="linuwial.css" rel="stylesheet" type="text/css" title="Linuwial" /><link rel="stylesheet" type="text/css" href="quick-jump.css" /><link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=PT+Sans:400,400i,700" /><script src="haddock-bundle.min.js" async="async" type="text/javascript"></script><script type="text/x-mathjax-config">MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script></head><body><div id="package-header"><span class="caption">base-4.15.1.0: Basic libraries</span><ul class="links" id="page-menu"><li><a href="src/Data.Functor.Product.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>(c) Ross Paterson 2010</td></tr><tr><th>License</th><td>BSD-style (see the file LICENSE)</td></tr><tr><th>Maintainer</th><td>libraries@haskell.org</td></tr><tr><th>Stability</th><td>experimental</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Data.Functor.Product</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Products, lifted to functors.</p><p><em>Since: base-4.9.0.0</em></p></div></div><div id="synopsis"><details id="syn"><summary>Synopsis</summary><ul class="details-toggle" data-details-id="syn"><li class="src short"><span class="keyword">data</span> <a href="#t:Product">Product</a> f g a = <a href="#v:Pair">Pair</a> (f a) (g a)</li></ul></details></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Product" class="def">Product</a> f g a <a href="src/Data.Functor.Product.html#Product" class="link">Source</a> <a href="#t:Product" class="selflink">#</a></p><div class="doc"><p>Lifted product of functors.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Pair" class="def">Pair</a> (f a) (g a)</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><h4 class="instances details-toggle-control details-toggle" data-details-id="i:Product">Instances</h4><details id="i:Product" open="open"><summary class="hide-when-js-enabled">Instances details</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Generic1:1"></span> <a href="GHC-Generics.html#t:Generic1" title="GHC.Generics">Generic1</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g :: k -&gt; <a href="Data-Kind.html#t:Type" title="Data.Kind">Type</a>)</span> <a href="src/Data.Functor.Product.html#line-37" class="link">Source</a> <a href="#t:Product" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Product:Generic1:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Data-Functor-Product.html">Data.Functor.Product</a></p> <div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="GHC-Generics.html#t:Rep1" title="GHC.Generics">Rep1</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g) :: k -&gt; <a href="Data-Kind.html#t:Type" title="Data.Kind">Type</a> <a href="src/GHC.Generics.html#Rep1" class="link">Source</a> <a href="#t:Rep1" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from1">from1</a> :: <span class="keyword">forall</span> (a :: k0). <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="GHC-Generics.html#t:Rep1" title="GHC.Generics">Rep1</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g) a <a href="src/GHC.Generics.html#from1" class="link">Source</a> <a href="#v:from1" class="selflink">#</a></p><p class="src"><a href="#v:to1">to1</a> :: <span class="keyword">forall</span> (a :: k0). <a href="GHC-Generics.html#t:Rep1" title="GHC.Generics">Rep1</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g) a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a <a href="src/GHC.Generics.html#to1" class="link">Source</a> <a href="#v:to1" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:MonadFix:2"></span> (<a href="Control-Monad-Fix.html#t:MonadFix" title="Control.Monad.Fix">MonadFix</a> f, <a href="Control-Monad-Fix.html#t:MonadFix" title="Control.Monad.Fix">MonadFix</a> g) =&gt; <a href="Control-Monad-Fix.html#t:MonadFix" title="Control.Monad.Fix">MonadFix</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g)</span> <a href="src/Data.Functor.Product.html#line-118" class="link">Source</a> <a href="#t:Product" class="selflink">#</a></td><td class="doc"><p><em>Since: base-4.9.0.0</em></p></td></tr><tr><td colspan="2"><details id="i:id:Product:MonadFix:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Data-Functor-Product.html">Data.Functor.Product</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mfix">mfix</a> :: (a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a) -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a <a href="src/Control.Monad.Fix.html#mfix" class="link">Source</a> <a href="#v:mfix" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:MonadZip:3"></span> (<a href="Control-Monad-Zip.html#t:MonadZip" title="Control.Monad.Zip">MonadZip</a> f, <a href="Control-Monad-Zip.html#t:MonadZip" title="Control.Monad.Zip">MonadZip</a> g) =&gt; <a href="Control-Monad-Zip.html#t:MonadZip" title="Control.Monad.Zip">MonadZip</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g)</span> <a href="src/Data.Functor.Product.html#line-125" class="link">Source</a> <a href="#t:Product" class="selflink">#</a></td><td class="doc"><p><em>Since: base-4.9.0.0</em></p></td></tr><tr><td colspan="2"><details id="i:id:Product:MonadZip:3"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Data-Functor-Product.html">Data.Functor.Product</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mzip">mzip</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g b -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g (a, b) <a href="src/Control.Monad.Zip.html#mzip" class="link">Source</a> <a href="#v:mzip" class="selflink">#</a></p><p class="src"><a href="#v:mzipWith">mzipWith</a> :: (a -&gt; b -&gt; c) -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g b -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g c <a href="src/Control.Monad.Zip.html#mzipWith" class="link">Source</a> <a href="#v:mzipWith" class="selflink">#</a></p><p class="src"><a href="#v:munzip">munzip</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g (a, b) -&gt; (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a, <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g b) <a href="src/Control.Monad.Zip.html#munzip" class="link">Source</a> <a href="#v:munzip" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Foldable:4"></span> (<a href="Data-Foldable.html#t:Foldable" title="Data.Foldable">Foldable</a> f, <a href="Data-Foldable.html#t:Foldable" title="Data.Foldable">Foldable</a> g) =&gt; <a href="Data-Foldable.html#t:Foldable" title="Data.Foldable">Foldable</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g)</span> <a href="src/Data.Functor.Product.html#line-87" class="link">Source</a> <a href="#t:Product" class="selflink">#</a></td><td class="doc"><p><em>Since: base-4.9.0.0</em></p></td></tr><tr><td colspan="2"><details id="i:id:Product:Foldable:4"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Data-Functor-Product.html">Data.Functor.Product</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fold">fold</a> :: <a href="Data-Monoid.html#t:Monoid" title="Data.Monoid">Monoid</a> m =&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g m -&gt; m <a href="src/Data.Foldable.html#fold" class="link">Source</a> <a href="#v:fold" class="selflink">#</a></p><p class="src"><a href="#v:foldMap">foldMap</a> :: <a href="Data-Monoid.html#t:Monoid" title="Data.Monoid">Monoid</a> m =&gt; (a -&gt; m) -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; m <a href="src/Data.Foldable.html#foldMap" class="link">Source</a> <a href="#v:foldMap" class="selflink">#</a></p><p class="src"><a href="#v:foldMap-39-">foldMap'</a> :: <a href="Data-Monoid.html#t:Monoid" title="Data.Monoid">Monoid</a> m =&gt; (a -&gt; m) -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; m <a href="src/Data.Foldable.html#foldMap%27" class="link">Source</a> <a href="#v:foldMap-39-" class="selflink">#</a></p><p class="src"><a href="#v:foldr">foldr</a> :: (a -&gt; b -&gt; b) -&gt; b -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; b <a href="src/Data.Foldable.html#foldr" class="link">Source</a> <a href="#v:foldr" class="selflink">#</a></p><p class="src"><a href="#v:foldr-39-">foldr'</a> :: (a -&gt; b -&gt; b) -&gt; b -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; b <a href="src/Data.Foldable.html#foldr%27" class="link">Source</a> <a href="#v:foldr-39-" class="selflink">#</a></p><p class="src"><a href="#v:foldl">foldl</a> :: (b -&gt; a -&gt; b) -&gt; b -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; b <a href="src/Data.Foldable.html#foldl" class="link">Source</a> <a href="#v:foldl" class="selflink">#</a></p><p class="src"><a href="#v:foldl-39-">foldl'</a> :: (b -&gt; a -&gt; b) -&gt; b -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; b <a href="src/Data.Foldable.html#foldl%27" class="link">Source</a> <a href="#v:foldl-39-" class="selflink">#</a></p><p class="src"><a href="#v:foldr1">foldr1</a> :: (a -&gt; a -&gt; a) -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; a <a href="src/Data.Foldable.html#foldr1" class="link">Source</a> <a href="#v:foldr1" class="selflink">#</a></p><p class="src"><a href="#v:foldl1">foldl1</a> :: (a -&gt; a -&gt; a) -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; a <a href="src/Data.Foldable.html#foldl1" class="link">Source</a> <a href="#v:foldl1" class="selflink">#</a></p><p class="src"><a href="#v:toList">toList</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; [a] <a href="src/Data.Foldable.html#toList" class="link">Source</a> <a href="#v:toList" class="selflink">#</a></p><p class="src"><a href="#v:null">null</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="src/Data.Foldable.html#null" class="link">Source</a> <a href="#v:null" class="selflink">#</a></p><p class="src"><a href="#v:length">length</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Int.html#t:Int" title="Data.Int">Int</a> <a href="src/Data.Foldable.html#length" class="link">Source</a> <a href="#v:length" class="selflink">#</a></p><p class="src"><a href="#v:elem">elem</a> :: <a href="Data-Eq.html#t:Eq" title="Data.Eq">Eq</a> a =&gt; a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="src/Data.Foldable.html#elem" class="link">Source</a> <a href="#v:elem" class="selflink">#</a></p><p class="src"><a href="#v:maximum">maximum</a> :: <a href="Data-Ord.html#t:Ord" title="Data.Ord">Ord</a> a =&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; a <a href="src/Data.Foldable.html#maximum" class="link">Source</a> <a href="#v:maximum" class="selflink">#</a></p><p class="src"><a href="#v:minimum">minimum</a> :: <a href="Data-Ord.html#t:Ord" title="Data.Ord">Ord</a> a =&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; a <a href="src/Data.Foldable.html#minimum" class="link">Source</a> <a href="#v:minimum" class="selflink">#</a></p><p class="src"><a href="#v:sum">sum</a> :: <a href="Prelude.html#t:Num" title="Prelude">Num</a> a =&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; a <a href="src/Data.Foldable.html#sum" class="link">Source</a> <a href="#v:sum" class="selflink">#</a></p><p class="src"><a href="#v:product">product</a> :: <a href="Prelude.html#t:Num" title="Prelude">Num</a> a =&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; a <a href="src/Data.Foldable.html#product" class="link">Source</a> <a href="#v:product" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Eq1:5"></span> (<a href="Data-Functor-Classes.html#t:Eq1" title="Data.Functor.Classes">Eq1</a> f, <a href="Data-Functor-Classes.html#t:Eq1" title="Data.Functor.Classes">Eq1</a> g) =&gt; <a href="Data-Functor-Classes.html#t:Eq1" title="Data.Functor.Classes">Eq1</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g)</span> <a href="src/Data.Functor.Product.html#line-41" class="link">Source</a> <a href="#t:Product" class="selflink">#</a></td><td class="doc"><p><em>Since: base-4.9.0.0</em></p></td></tr><tr><td colspan="2"><details id="i:id:Product:Eq1:5"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Data-Functor-Product.html">Data.Functor.Product</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:liftEq">liftEq</a> :: (a -&gt; b -&gt; <a href="Data-Bool.html#t:Bool" title="Data.Bool">Bool</a>) -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g b -&gt; <a href="Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="src/Data.Functor.Classes.html#liftEq" class="link">Source</a> <a href="#v:liftEq" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Ord1:6"></span> (<a href="Data-Functor-Classes.html#t:Ord1" title="Data.Functor.Classes">Ord1</a> f, <a href="Data-Functor-Classes.html#t:Ord1" title="Data.Functor.Classes">Ord1</a> g) =&gt; <a href="Data-Functor-Classes.html#t:Ord1" title="Data.Functor.Classes">Ord1</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g)</span> <a href="src/Data.Functor.Product.html#line-45" class="link">Source</a> <a href="#t:Product" class="selflink">#</a></td><td class="doc"><p><em>Since: base-4.9.0.0</em></p></td></tr><tr><td colspan="2"><details id="i:id:Product:Ord1:6"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Data-Functor-Product.html">Data.Functor.Product</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:liftCompare">liftCompare</a> :: (a -&gt; b -&gt; <a href="Data-Ord.html#t:Ordering" title="Data.Ord">Ordering</a>) -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g b -&gt; <a href="Data-Ord.html#t:Ordering" title="Data.Ord">Ordering</a> <a href="src/Data.Functor.Classes.html#liftCompare" class="link">Source</a> <a href="#v:liftCompare" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Read1:7"></span> (<a href="Data-Functor-Classes.html#t:Read1" title="Data.Functor.Classes">Read1</a> f, <a href="Data-Functor-Classes.html#t:Read1" title="Data.Functor.Classes">Read1</a> g) =&gt; <a href="Data-Functor-Classes.html#t:Read1" title="Data.Functor.Classes">Read1</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g)</span> <a href="src/Data.Functor.Product.html#line-50" class="link">Source</a> <a href="#t:Product" class="selflink">#</a></td><td class="doc"><p><em>Since: base-4.9.0.0</em></p></td></tr><tr><td colspan="2"><details id="i:id:Product:Read1:7"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Data-Functor-Product.html">Data.Functor.Product</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:liftReadsPrec">liftReadsPrec</a> :: (<a href="Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="Text-ParserCombinators-ReadP.html#t:ReadS" title="Text.ParserCombinators.ReadP">ReadS</a> a) -&gt; <a href="Text-ParserCombinators-ReadP.html#t:ReadS" title="Text.ParserCombinators.ReadP">ReadS</a> [a] -&gt; <a href="Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="Text-ParserCombinators-ReadP.html#t:ReadS" title="Text.ParserCombinators.ReadP">ReadS</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a) <a href="src/Data.Functor.Classes.html#liftReadsPrec" class="link">Source</a> <a href="#v:liftReadsPrec" class="selflink">#</a></p><p class="src"><a href="#v:liftReadList">liftReadList</a> :: (<a href="Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="Text-ParserCombinators-ReadP.html#t:ReadS" title="Text.ParserCombinators.ReadP">ReadS</a> a) -&gt; <a href="Text-ParserCombinators-ReadP.html#t:ReadS" title="Text.ParserCombinators.ReadP">ReadS</a> [a] -&gt; <a href="Text-ParserCombinators-ReadP.html#t:ReadS" title="Text.ParserCombinators.ReadP">ReadS</a> [<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a] <a href="src/Data.Functor.Classes.html#liftReadList" class="link">Source</a> <a href="#v:liftReadList" class="selflink">#</a></p><p class="src"><a href="#v:liftReadPrec">liftReadPrec</a> :: <a href="Text-ParserCombinators-ReadPrec.html#t:ReadPrec" title="Text.ParserCombinators.ReadPrec">ReadPrec</a> a -&gt; <a href="Text-ParserCombinators-ReadPrec.html#t:ReadPrec" title="Text.ParserCombinators.ReadPrec">ReadPrec</a> [a] -&gt; <a href="Text-ParserCombinators-ReadPrec.html#t:ReadPrec" title="Text.ParserCombinators.ReadPrec">ReadPrec</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a) <a href="src/Data.Functor.Classes.html#liftReadPrec" class="link">Source</a> <a href="#v:liftReadPrec" class="selflink">#</a></p><p class="src"><a href="#v:liftReadListPrec">liftReadListPrec</a> :: <a href="Text-ParserCombinators-ReadPrec.html#t:ReadPrec" title="Text.ParserCombinators.ReadPrec">ReadPrec</a> a -&gt; <a href="Text-ParserCombinators-ReadPrec.html#t:ReadPrec" title="Text.ParserCombinators.ReadPrec">ReadPrec</a> [a] -&gt; <a href="Text-ParserCombinators-ReadPrec.html#t:ReadPrec" title="Text.ParserCombinators.ReadPrec">ReadPrec</a> [<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a] <a href="src/Data.Functor.Classes.html#liftReadListPrec" class="link">Source</a> <a href="#v:liftReadListPrec" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Show1:8"></span> (<a href="Data-Functor-Classes.html#t:Show1" title="Data.Functor.Classes">Show1</a> f, <a href="Data-Functor-Classes.html#t:Show1" title="Data.Functor.Classes">Show1</a> g) =&gt; <a href="Data-Functor-Classes.html#t:Show1" title="Data.Functor.Classes">Show1</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g)</span> <a href="src/Data.Functor.Product.html#line-58" class="link">Source</a> <a href="#t:Product" class="selflink">#</a></td><td class="doc"><p><em>Since: base-4.9.0.0</em></p></td></tr><tr><td colspan="2"><details id="i:id:Product:Show1:8"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Data-Functor-Product.html">Data.Functor.Product</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:liftShowsPrec">liftShowsPrec</a> :: (<a href="Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; a -&gt; <a href="Text-Show.html#t:ShowS" title="Text.Show">ShowS</a>) -&gt; ([a] -&gt; <a href="Text-Show.html#t:ShowS" title="Text.Show">ShowS</a>) -&gt; <a href="Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Text-Show.html#t:ShowS" title="Text.Show">ShowS</a> <a href="src/Data.Functor.Classes.html#liftShowsPrec" class="link">Source</a> <a href="#v:liftShowsPrec" class="selflink">#</a></p><p class="src"><a href="#v:liftShowList">liftShowList</a> :: (<a href="Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; a -&gt; <a href="Text-Show.html#t:ShowS" title="Text.Show">ShowS</a>) -&gt; ([a] -&gt; <a href="Text-Show.html#t:ShowS" title="Text.Show">ShowS</a>) -&gt; [<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a] -&gt; <a href="Text-Show.html#t:ShowS" title="Text.Show">ShowS</a> <a href="src/Data.Functor.Classes.html#liftShowList" class="link">Source</a> <a href="#v:liftShowList" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Contravariant:9"></span> (<a href="Data-Functor-Contravariant.html#t:Contravariant" title="Data.Functor.Contravariant">Contravariant</a> f, <a href="Data-Functor-Contravariant.html#t:Contravariant" title="Data.Functor.Contravariant">Contravariant</a> g) =&gt; <a href="Data-Functor-Contravariant.html#t:Contravariant" title="Data.Functor.Contravariant">Contravariant</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g)</span> <a href="src/Data.Functor.Contravariant.html#line-171" class="link">Source</a> <a href="#t:Contravariant" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Product:Contravariant:9"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Data-Functor-Contravariant.html">Data.Functor.Contravariant</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:contramap">contramap</a> :: (a' -&gt; a) -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a' <a href="src/Data.Functor.Contravariant.html#contramap" class="link">Source</a> <a href="#v:contramap" class="selflink">#</a></p><p class="src"><a href="#v:-62--36-">(&gt;$)</a> :: b -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g b -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a <a href="src/Data.Functor.Contravariant.html#%3E%24" class="link">Source</a> <a href="#v:-62--36-" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Traversable:10"></span> (<a href="Data-Traversable.html#t:Traversable" title="Data.Traversable">Traversable</a> f, <a href="Data-Traversable.html#t:Traversable" title="Data.Traversable">Traversable</a> g) =&gt; <a href="Data-Traversable.html#t:Traversable" title="Data.Traversable">Traversable</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g)</span> <a href="src/Data.Functor.Product.html#line-91" class="link">Source</a> <a href="#t:Product" class="selflink">#</a></td><td class="doc"><p><em>Since: base-4.9.0.0</em></p></td></tr><tr><td colspan="2"><details id="i:id:Product:Traversable:10"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Data-Functor-Product.html">Data.Functor.Product</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Prelude.html#t:Applicative" title="Prelude">Applicative</a> f0 =&gt; (a -&gt; f0 b) -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; f0 (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g b) <a href="src/Data.Traversable.html#traverse" class="link">Source</a> <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Prelude.html#t:Applicative" title="Prelude">Applicative</a> f0 =&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g (f0 a) -&gt; f0 (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a) <a href="src/Data.Traversable.html#sequenceA" class="link">Source</a> <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Prelude.html#t:Monad" title="Prelude">Monad</a> m =&gt; (a -&gt; m b) -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; m (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g b) <a href="src/Data.Traversable.html#mapM" class="link">Source</a> <a href="#v:mapM" class="selflink">#</a></p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Prelude.html#t:Monad" title="Prelude">Monad</a> m =&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g (m a) -&gt; m (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a) <a href="src/Data.Traversable.html#sequence" class="link">Source</a> <a href="#v:sequence" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Alternative:11"></span> (<a href="Control-Applicative.html#t:Alternative" title="Control.Applicative">Alternative</a> f, <a href="Control-Applicative.html#t:Alternative" title="Control.Applicative">Alternative</a> g) =&gt; <a href="Control-Applicative.html#t:Alternative" title="Control.Applicative">Alternative</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g)</span> <a href="src/Data.Functor.Product.html#line-101" class="link">Source</a> <a href="#t:Product" class="selflink">#</a></td><td class="doc"><p><em>Since: base-4.9.0.0</em></p></td></tr><tr><td colspan="2"><details id="i:id:Product:Alternative:11"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Data-Functor-Product.html">Data.Functor.Product</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:empty">empty</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a <a href="src/GHC.Base.html#empty" class="link">Source</a> <a href="#v:empty" class="selflink">#</a></p><p class="src"><a href="#v:-60--124--62-">(&lt;|&gt;)</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a <a href="src/GHC.Base.html#%3C%7C%3E" class="link">Source</a> <a href="#v:-60--124--62-" class="selflink">#</a></p><p class="src"><a href="#v:some">some</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g [a] <a href="src/GHC.Base.html#some" class="link">Source</a> <a href="#v:some" class="selflink">#</a></p><p class="src"><a href="#v:many">many</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g [a] <a href="src/GHC.Base.html#many" class="link">Source</a> <a href="#v:many" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Applicative:12"></span> (<a href="Prelude.html#t:Applicative" title="Prelude">Applicative</a> f, <a href="Prelude.html#t:Applicative" title="Prelude">Applicative</a> g) =&gt; <a href="Prelude.html#t:Applicative" title="Prelude">Applicative</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g)</span> <a href="src/Data.Functor.Product.html#line-95" class="link">Source</a> <a href="#t:Product" class="selflink">#</a></td><td class="doc"><p><em>Since: base-4.9.0.0</em></p></td></tr><tr><td colspan="2"><details id="i:id:Product:Applicative:12"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Data-Functor-Product.html">Data.Functor.Product</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a <a href="src/GHC.Base.html#pure" class="link">Source</a> <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(&lt;*&gt;)</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g (a -&gt; b) -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g b <a href="src/GHC.Base.html#%3C%2A%3E" class="link">Source</a> <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:liftA2">liftA2</a> :: (a -&gt; b -&gt; c) -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g b -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g c <a href="src/GHC.Base.html#liftA2" class="link">Source</a> <a href="#v:liftA2" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*&gt;)</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g b -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g b <a href="src/GHC.Base.html#%2A%3E" class="link">Source</a> <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(&lt;*)</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g b -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a <a href="src/GHC.Base.html#%3C%2A" class="link">Source</a> <a href="#v:-60--42-" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Functor:13"></span> (<a href="Data-Functor.html#t:Functor" title="Data.Functor">Functor</a> f, <a href="Data-Functor.html#t:Functor" title="Data.Functor">Functor</a> g) =&gt; <a href="Data-Functor.html#t:Functor" title="Data.Functor">Functor</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g)</span> <a href="src/Data.Functor.Product.html#line-82" class="link">Source</a> <a href="#t:Product" class="selflink">#</a></td><td class="doc"><p><em>Since: base-4.9.0.0</em></p></td></tr><tr><td colspan="2"><details id="i:id:Product:Functor:13"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Data-Functor-Product.html">Data.Functor.Product</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -&gt; b) -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g b <a href="src/GHC.Base.html#fmap" class="link">Source</a> <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(&lt;$)</a> :: a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g b -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a <a href="src/GHC.Base.html#%3C%24" class="link">Source</a> <a href="#v:-60--36-" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Monad:14"></span> (<a href="Prelude.html#t:Monad" title="Prelude">Monad</a> f, <a href="Prelude.html#t:Monad" title="Prelude">Monad</a> g) =&gt; <a href="Prelude.html#t:Monad" title="Prelude">Monad</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g)</span> <a href="src/Data.Functor.Product.html#line-106" class="link">Source</a> <a href="#t:Product" class="selflink">#</a></td><td class="doc"><p><em>Since: base-4.9.0.0</em></p></td></tr><tr><td colspan="2"><details id="i:id:Product:Monad:14"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Data-Functor-Product.html">Data.Functor.Product</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-62--62--61-">(&gt;&gt;=)</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; (a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g b) -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g b <a href="src/GHC.Base.html#%3E%3E%3D" class="link">Source</a> <a href="#v:-62--62--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62--62-">(&gt;&gt;)</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g b -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g b <a href="src/GHC.Base.html#%3E%3E" class="link">Source</a> <a href="#v:-62--62-" class="selflink">#</a></p><p class="src"><a href="#v:return">return</a> :: a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a <a href="src/GHC.Base.html#return" class="link">Source</a> <a href="#v:return" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:MonadPlus:15"></span> (<a href="Control-Monad.html#t:MonadPlus" title="Control.Monad">MonadPlus</a> f, <a href="Control-Monad.html#t:MonadPlus" title="Control.Monad">MonadPlus</a> g) =&gt; <a href="Control-Monad.html#t:MonadPlus" title="Control.Monad">MonadPlus</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g)</span> <a href="src/Data.Functor.Product.html#line-113" class="link">Source</a> <a href="#t:Product" class="selflink">#</a></td><td class="doc"><p><em>Since: base-4.9.0.0</em></p></td></tr><tr><td colspan="2"><details id="i:id:Product:MonadPlus:15"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Data-Functor-Product.html">Data.Functor.Product</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mzero">mzero</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a <a href="src/GHC.Base.html#mzero" class="link">Source</a> <a href="#v:mzero" class="selflink">#</a></p><p class="src"><a href="#v:mplus">mplus</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a <a href="src/GHC.Base.html#mplus" class="link">Source</a> <a href="#v:mplus" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Data:16"></span> (<a href="Data-Typeable.html#t:Typeable" title="Data.Typeable">Typeable</a> a, <a href="Data-Typeable.html#t:Typeable" title="Data.Typeable">Typeable</a> f, <a href="Data-Typeable.html#t:Typeable" title="Data.Typeable">Typeable</a> g, <a href="Data-Typeable.html#t:Typeable" title="Data.Typeable">Typeable</a> k, <a href="Data-Data.html#t:Data" title="Data.Data">Data</a> (f a), <a href="Data-Data.html#t:Data" title="Data.Data">Data</a> (g a)) =&gt; <a href="Data-Data.html#t:Data" title="Data.Data">Data</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a)</span> <a href="src/Data.Functor.Product.html#line-35" class="link">Source</a> <a href="#t:Product" class="selflink">#</a></td><td class="doc"><p><em>Since: base-4.9.0.0</em></p></td></tr><tr><td colspan="2"><details id="i:id:Product:Data:16"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Data-Functor-Product.html">Data.Functor.Product</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Data-Data.html#t:Data" title="Data.Data">Data</a> d =&gt; c (d -&gt; b) -&gt; d -&gt; c b) -&gt; (<span class="keyword">forall</span> g0. g0 -&gt; c g0) -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; c (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a) <a href="src/Data.Data.html#gfoldl" class="link">Source</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Data-Data.html#t:Data" title="Data.Data">Data</a> b =&gt; c (b -&gt; r) -&gt; c r) -&gt; (<span class="keyword">forall</span> r. r -&gt; c r) -&gt; <a href="Data-Data.html#t:Constr" title="Data.Data">Constr</a> -&gt; c (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a) <a href="src/Data.Data.html#gunfold" class="link">Source</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Data.html#t:Constr" title="Data.Data">Constr</a> <a href="src/Data.Data.html#toConstr" class="link">Source</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Data.html#t:DataType" title="Data.Data">DataType</a> <a href="src/Data.Data.html#dataTypeOf" class="link">Source</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Data-Typeable.html#t:Typeable" title="Data.Typeable">Typeable</a> t =&gt; (<span class="keyword">forall</span> d. <a href="Data-Data.html#t:Data" title="Data.Data">Data</a> d =&gt; c (t d)) -&gt; <a href="Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (c (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a)) <a href="src/Data.Data.html#dataCast1" class="link">Source</a> <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Data-Typeable.html#t:Typeable" title="Data.Typeable">Typeable</a> t =&gt; (<span class="keyword">forall</span> d e. (<a href="Data-Data.html#t:Data" title="Data.Data">Data</a> d, <a href="Data-Data.html#t:Data" title="Data.Data">Data</a> e) =&gt; c (t d e)) -&gt; <a href="Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (c (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a)) <a href="src/Data.Data.html#dataCast2" class="link">Source</a> <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Data-Data.html#t:Data" title="Data.Data">Data</a> b =&gt; b -&gt; b) -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a <a href="src/Data.Data.html#gmapT" class="link">Source</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -&gt; r' -&gt; r) -&gt; r -&gt; (<span class="keyword">forall</span> d. <a href="Data-Data.html#t:Data" title="Data.Data">Data</a> d =&gt; d -&gt; r') -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; r <a href="src/Data.Data.html#gmapQl" class="link">Source</a> <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: <span class="keyword">forall</span> r r'. (r' -&gt; r -&gt; r) -&gt; r -&gt; (<span class="keyword">forall</span> d. <a href="Data-Data.html#t:Data" title="Data.Data">Data</a> d =&gt; d -&gt; r') -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; r <a href="src/Data.Data.html#gmapQr" class="link">Source</a> <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Data-Data.html#t:Data" title="Data.Data">Data</a> d =&gt; d -&gt; u) -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; [u] <a href="src/Data.Data.html#gmapQ" class="link">Source</a> <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; (<span class="keyword">forall</span> d. <a href="Data-Data.html#t:Data" title="Data.Data">Data</a> d =&gt; d -&gt; u) -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; u <a href="src/Data.Data.html#gmapQi" class="link">Source</a> <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="Prelude.html#t:Monad" title="Prelude">Monad</a> m =&gt; (<span class="keyword">forall</span> d. <a href="Data-Data.html#t:Data" title="Data.Data">Data</a> d =&gt; d -&gt; m d) -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; m (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a) <a href="src/Data.Data.html#gmapM" class="link">Source</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Control-Monad.html#t:MonadPlus" title="Control.Monad">MonadPlus</a> m =&gt; (<span class="keyword">forall</span> d. <a href="Data-Data.html#t:Data" title="Data.Data">Data</a> d =&gt; d -&gt; m d) -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; m (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a) <a href="src/Data.Data.html#gmapMp" class="link">Source</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Control-Monad.html#t:MonadPlus" title="Control.Monad">MonadPlus</a> m =&gt; (<span class="keyword">forall</span> d. <a href="Data-Data.html#t:Data" title="Data.Data">Data</a> d =&gt; d -&gt; m d) -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; m (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a) <a href="src/Data.Data.html#gmapMo" class="link">Source</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Generic:17"></span> <a href="GHC-Generics.html#t:Generic" title="GHC.Generics">Generic</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a)</span> <a href="src/Data.Functor.Product.html#line-36" class="link">Source</a> <a href="#t:Product" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Product:Generic:17"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Data-Functor-Product.html">Data.Functor.Product</a></p> <div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="GHC-Generics.html#t:Rep" title="GHC.Generics">Rep</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a) :: <a href="Data-Kind.html#t:Type" title="Data.Kind">Type</a> -&gt; <a href="Data-Kind.html#t:Type" title="Data.Kind">Type</a> <a href="src/GHC.Generics.html#Rep" class="link">Source</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="GHC-Generics.html#t:Rep" title="GHC.Generics">Rep</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a) x <a href="src/GHC.Generics.html#from" class="link">Source</a> <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="GHC-Generics.html#t:Rep" title="GHC.Generics">Rep</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a) x -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a <a href="src/GHC.Generics.html#to" class="link">Source</a> <a href="#v:to" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Read:18"></span> (<a href="Data-Functor-Classes.html#t:Read1" title="Data.Functor.Classes">Read1</a> f, <a href="Data-Functor-Classes.html#t:Read1" title="Data.Functor.Classes">Read1</a> g, <a href="Text-Read.html#t:Read" title="Text.Read">Read</a> a) =&gt; <a href="Text-Read.html#t:Read" title="Text.Read">Read</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a)</span> <a href="src/Data.Functor.Product.html#line-71" class="link">Source</a> <a href="#t:Product" class="selflink">#</a></td><td class="doc"><p><em>Since: base-4.9.0.0</em></p></td></tr><tr><td colspan="2"><details id="i:id:Product:Read:18"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Data-Functor-Product.html">Data.Functor.Product</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="Text-ParserCombinators-ReadP.html#t:ReadS" title="Text.ParserCombinators.ReadP">ReadS</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a) <a href="src/GHC.Read.html#readsPrec" class="link">Source</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Text-ParserCombinators-ReadP.html#t:ReadS" title="Text.ParserCombinators.ReadP">ReadS</a> [<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a] <a href="src/GHC.Read.html#readList" class="link">Source</a> <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="Text-ParserCombinators-ReadPrec.html#t:ReadPrec" title="Text.ParserCombinators.ReadPrec">ReadPrec</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a) <a href="src/GHC.Read.html#readPrec" class="link">Source</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="Text-ParserCombinators-ReadPrec.html#t:ReadPrec" title="Text.ParserCombinators.ReadPrec">ReadPrec</a> [<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a] <a href="src/GHC.Read.html#readListPrec" class="link">Source</a> <a href="#v:readListPrec" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Show:19"></span> (<a href="Data-Functor-Classes.html#t:Show1" title="Data.Functor.Classes">Show1</a> f, <a href="Data-Functor-Classes.html#t:Show1" title="Data.Functor.Classes">Show1</a> g, <a href="Text-Show.html#t:Show" title="Text.Show">Show</a> a) =&gt; <a href="Text-Show.html#t:Show" title="Text.Show">Show</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a)</span> <a href="src/Data.Functor.Product.html#line-78" class="link">Source</a> <a href="#t:Product" class="selflink">#</a></td><td class="doc"><p><em>Since: base-4.9.0.0</em></p></td></tr><tr><td colspan="2"><details id="i:id:Product:Show:19"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Data-Functor-Product.html">Data.Functor.Product</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Text-Show.html#t:ShowS" title="Text.Show">ShowS</a> <a href="src/GHC.Show.html#showsPrec" class="link">Source</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-String.html#t:String" title="Data.String">String</a> <a href="src/GHC.Show.html#show" class="link">Source</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a] -&gt; <a href="Text-Show.html#t:ShowS" title="Text.Show">ShowS</a> <a href="src/GHC.Show.html#showList" class="link">Source</a> <a href="#v:showList" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Eq:20"></span> (<a href="Data-Functor-Classes.html#t:Eq1" title="Data.Functor.Classes">Eq1</a> f, <a href="Data-Functor-Classes.html#t:Eq1" title="Data.Functor.Classes">Eq1</a> g, <a href="Data-Eq.html#t:Eq" title="Data.Eq">Eq</a> a) =&gt; <a href="Data-Eq.html#t:Eq" title="Data.Eq">Eq</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a)</span> <a href="src/Data.Functor.Product.html#line-63" class="link">Source</a> <a href="#t:Product" class="selflink">#</a></td><td class="doc"><p><em>Since: base-4.9.0.0</em></p></td></tr><tr><td colspan="2"><details id="i:id:Product:Eq:20"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Data-Functor-Product.html">Data.Functor.Product</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="../ghc-prim/src/GHC.Classes.html#%3D%3D" class="link">Source</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="../ghc-prim/src/GHC.Classes.html#%2F%3D" class="link">Source</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Ord:21"></span> (<a href="Data-Functor-Classes.html#t:Ord1" title="Data.Functor.Classes">Ord1</a> f, <a href="Data-Functor-Classes.html#t:Ord1" title="Data.Functor.Classes">Ord1</a> g, <a href="Data-Ord.html#t:Ord" title="Data.Ord">Ord</a> a) =&gt; <a href="Data-Ord.html#t:Ord" title="Data.Ord">Ord</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a)</span> <a href="src/Data.Functor.Product.html#line-67" class="link">Source</a> <a href="#t:Product" class="selflink">#</a></td><td class="doc"><p><em>Since: base-4.9.0.0</em></p></td></tr><tr><td colspan="2"><details id="i:id:Product:Ord:21"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Data-Functor-Product.html">Data.Functor.Product</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Ord.html#t:Ordering" title="Data.Ord">Ordering</a> <a href="../ghc-prim/src/GHC.Classes.html#compare" class="link">Source</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(&lt;)</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="../ghc-prim/src/GHC.Classes.html#%3C" class="link">Source</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(&lt;=)</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="../ghc-prim/src/GHC.Classes.html#%3C%3D" class="link">Source</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(&gt;)</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="../ghc-prim/src/GHC.Classes.html#%3E" class="link">Source</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(&gt;=)</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="../ghc-prim/src/GHC.Classes.html#%3E%3D" class="link">Source</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a <a href="../ghc-prim/src/GHC.Classes.html#max" class="link">Source</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a -&gt; <a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a <a href="../ghc-prim/src/GHC.Classes.html#min" class="link">Source</a> <a href="#v:min" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Rep1:22"></span> <span class="keyword">type</span> <a href="GHC-Generics.html#t:Rep1" title="GHC.Generics">Rep1</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g :: k -&gt; <a href="Data-Kind.html#t:Type" title="Data.Kind">Type</a>)</span> <a href="src/Data.Functor.Product.html#line-37" class="link">Source</a> <a href="#t:Product" class="selflink">#</a></td><td class="doc"><p><em>Since: base-4.9.0.0</em></p></td></tr><tr><td colspan="2"><details id="i:id:Product:Rep1:22"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Data-Functor-Product.html">Data.Functor.Product</a></p> <div class="src"><span class="keyword">type</span> <a href="GHC-Generics.html#t:Rep1" title="GHC.Generics">Rep1</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g :: k -&gt; <a href="Data-Kind.html#t:Type" title="Data.Kind">Type</a>) = <a href="GHC-Generics.html#t:D1" title="GHC.Generics">D1</a> ('<a href="GHC-Generics.html#v:MetaData" title="GHC.Generics">MetaData</a> &quot;Product&quot; &quot;Data.Functor.Product&quot; &quot;base&quot; '<a href="Data-Bool.html#v:False" title="Data.Bool">False</a>) (<a href="GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> ('<a href="GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;Pair&quot; '<a href="GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> '<a href="Data-Bool.html#v:False" title="Data.Bool">False</a>) (<a href="GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> ('<a href="GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> ('<a href="Data-Maybe.html#v:Nothing" title="Data.Maybe">Nothing</a> :: <a href="Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) '<a href="GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> '<a href="GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> '<a href="GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="GHC-Generics.html#t:Rec1" title="GHC.Generics">Rec1</a> f) <a href="GHC-Generics.html#t::-42-:" title="GHC.Generics">:*:</a> <a href="GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> ('<a href="GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> ('<a href="Data-Maybe.html#v:Nothing" title="Data.Maybe">Nothing</a> :: <a href="Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) '<a href="GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> '<a href="GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> '<a href="GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="GHC-Generics.html#t:Rec1" title="GHC.Generics">Rec1</a> g)))</div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Rep:23"></span> <span class="keyword">type</span> <a href="GHC-Generics.html#t:Rep" title="GHC.Generics">Rep</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a)</span> <a href="src/Data.Functor.Product.html#line-36" class="link">Source</a> <a href="#t:Product" class="selflink">#</a></td><td class="doc"><p><em>Since: base-4.9.0.0</em></p></td></tr><tr><td colspan="2"><details id="i:id:Product:Rep:23"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Data-Functor-Product.html">Data.Functor.Product</a></p> <div class="src"><span class="keyword">type</span> <a href="GHC-Generics.html#t:Rep" title="GHC.Generics">Rep</a> (<a href="Data-Functor-Product.html#t:Product" title="Data.Functor.Product">Product</a> f g a) = <a href="GHC-Generics.html#t:D1" title="GHC.Generics">D1</a> ('<a href="GHC-Generics.html#v:MetaData" title="GHC.Generics">MetaData</a> &quot;Product&quot; &quot;Data.Functor.Product&quot; &quot;base&quot; '<a href="Data-Bool.html#v:False" title="Data.Bool">False</a>) (<a href="GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> ('<a href="GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;Pair&quot; '<a href="GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> '<a href="Data-Bool.html#v:False" title="Data.Bool">False</a>) (<a href="GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> ('<a href="GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> ('<a href="Data-Maybe.html#v:Nothing" title="Data.Maybe">Nothing</a> :: <a href="Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) '<a href="GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> '<a href="GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> '<a href="GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> (f a)) <a href="GHC-Generics.html#t::-42-:" title="GHC.Generics">:*:</a> <a href="GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> ('<a href="GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> ('<a href="Data-Maybe.html#v:Nothing" title="Data.Maybe">Nothing</a> :: <a href="Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) '<a href="GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> '<a href="GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> '<a href="GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> (g a))))</div></details></td></tr></table></details></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.25.1</p></div></body></html>